﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Text.RegularExpressions;
using System.Drawing;

namespace Filmy
{
    class Walidacja
    {
        private string dajNajdlSlowoWtyt(string tytul)
        {
            bool next = true;
            string pom = "";
            string tyt = "";
            try
            {

                string tyt2 = tytul;
                List<string> wyrazy = new List<string>();
                pom = tyt2;
                while (next)
                {
                    if (pom.Contains(" "))
                    {
                        int x = pom.IndexOf(" ");
                        string pom2 = pom.Substring(0, x);
                        wyrazy.Add(pom2);
                        pom = pom.Substring(x + 1);
                        if (!pom.Contains(" "))
                        {
                            next = false;
                            wyrazy.Add(pom);
                        }
                    }
                    else
                    {
                        next = false;
                        wyrazy.Add(pom);
                    }
                }
                foreach (string wyraz in wyrazy)
                {
                    if (wyraz.Length > tyt.Length)
                        tyt = wyraz;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            return tyt;
        }

        //private bool sprDlTytulu(string tyt)
        //{
        //    if (tyt == "" || tyt == " ")
        //    {
        //        return false;
        //    }
        //    return true;
        //}

        public bool walidacja(bool ok, TextBox TbRokProd, TextBox TbCzasTrw, TextBox TbOcena, RichTextBox RTbLink, TextBox tyt, TextBox wersja)
        {
            if (ok)
            {
                int spr;
                if (TbRokProd.Text != "" && TbRokProd.Text != "0")
                {
                    spr = int.Parse(TbRokProd.Text);
                    if (spr < 1900 || spr > DateTime.Now.Year + 10)
                    {
                        ok = false;
                        TbRokProd.BackColor = Color.Red;
                    }
                }
                if (TbCzasTrw.Text.Replace(" ", "") != "")
                {
                    spr = int.Parse(TbCzasTrw.Text);
                    if (spr < 0 || spr > 5220)
                    {
                        ok = false;
                        TbCzasTrw.BackColor = Color.Red;
                    }
                }
                if (TbOcena.Text != "")
                {
                    double spr1 = double.Parse(TbOcena.Text.Replace(".", ","));
                    if (spr1 < 0 || spr1 > 10)
                    {
                        ok = false;
                        TbOcena.BackColor = Color.Red;
                    }
                }
                if (RTbLink.Text != "")
                {
                    Match match = Regex.Match(RTbLink.Text, "^(http://|https://)?(([a-z0-9]?([-a-z0-9]*[a-z0-9]+)?){1,63}\\.)+[a-z]{2,6}");

                    if (!match.Success)
                    {
                        RTbLink.BackColor = Color.Red;
                        ok = false;
                    }
                }
                if (tyt.Text.Length < 1 || tyt.Text.Length > 100)
                {
                    ok = false;
                    tyt.BackColor = Color.Red;
                }
                if (wersja.Text.Length < 1 || wersja.Text.Length > 100)
                {
                    ok = false;
                    wersja.BackColor = Color.Red;
                }
            }
            return ok;
        }
    }
}
